package com.hjxr.quota.define.service;

import com.hjxr.quota.define.domain.QuotaDimRelationDetail;
import com.hjxr.quota.define.domain.vo.DimensionRootVo;
import com.hjxr.quota.datasource.domain.QuotaDimension;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 预指标与维度（具体维度）关系表 服务类
 * </p>
 *
 * @author ma
 * @since 2020-10-16
 */
public interface IQuotaDimRelationDetailService extends IService<QuotaDimRelationDetail> {

    /**
     * @param ids 指标id列表
     * @return 共有具体维度列表
     */
    List<Integer> commonDims(List<Integer> ids);

    /**
     * @param parms k：预指标id v:具体维度id列表
     * @return 该预指标的指标值
     */
    Float computeValue(Map<Integer, List<Integer>> parms);

    List<DimensionRootVo> getDimsByQuotaId(Integer quotaId);

    /**
     * @param dimIds 具体维度id列表
     * @return k 具体维度id  v 对应一级维度id
     */
    List<String> queryUpperDim(List<Integer> dimIds);

    List<DimensionRootVo> getBeMixedList(List<Integer> quotaIds);

    List<DimensionRootVo> getBeMixedRoot(List<Integer> quotaIds);

    List<QuotaDimension> getBeMixedTree(List<Integer> quotaIds);

}

